The present invention generally concerns database management systems performed by computers, in particular to corresponding OLAP (OnLine Analytical Processing) and Data Warehouse applications. More specifically, the invention relates to a method and system for generating user-defined presentations or views of data records contained in such a database management system. Even more specifically, the invention is related to database management systems with very large number of data records.
Data Warehouse and Online Analytical Processing (OLAP) applications have highlighted the need for a fast way to store and retrieve multidimensional data. A data warehouse is a central repository for all or significant parts of the data that an enterprise's various business systems collect. Sometimes the term “information warehouse” is used instead of. Typically, a data warehouse is housed on an enterprise mainframe server. Data from various online transaction processing (OLTP) applications and other sources is selectively extracted and organized on a data warehouse database for use by analytical applications and user queries. Data warehousing emphasizes the capture of data from diverse sources for useful analysis and access, but does not generally start from the point-of-view of the end user or knowledge worker who may need access to specialized, sometimes local databases. The latter technology is commonly known as the data mart, data mining, Web mining, and a decision support system (DSS) are three kinds of applications that can make use of a data warehouse.
OLAP is computer processing that enables a user to easily and selectively extract and view data from different points-of-view. For example, a user can request that data be analyzed to display a spreadsheet showing all of a telecommunication company's mobile phone products sold in a country in a specific month of the year, compare revenue figures with those for the same products in the preceding month, and then see a comparison of other product sales in that country in the same time period.
To facilitate this kind of analysis, OLAP data is stored in a multidimensional database. Whereas a relational database can be thought of as two-dimensional, a multidimensional database considers each data attribute, often called “data key”, such as product, geographic sales region, and time period as a separate “dimension.” OLAP software can locate the intersection of dimensions, e.g. ‘all products sold in the Eastern region above a certain price during a certain time period’, and display them. Attributes such as time periods can be broken down into sub-attributes.
Like a data warehouse, OLAP can be used for data mining or the discovery of previously un-discerned relationships between data items. An OLAP database does not need to be as large as a data warehouse, since not all transactional data is needed for trend analysis. Using Open Database Connectivity (ODBC), data can be imported from existing relational databases to create a multidimensional database for OLAP.
As mentioned above, OLAP functionality is determined mainly by the dynamic multidimensional analysis of consolidated data supporting end user analytical and navigational activities including:                Calculations and modeling applied across dimensions, through hierarchies and/or across members;        Trend analysis over sequential time periods;        Slicing subsets for on-screen viewing;        Drill-down to deeper levels of consolidation;        Reach-through to underlying detail data; and        Rotation to new dimensional comparisons in the viewing area.        
OLAP is often implemented in a multi-user client/server environment and attempts to offer consistently rapid response to database access, regardless of database size and complexity. The data delivered by such a database access are commonly presented to the end user by way of cross-table or pivot presentations or views of parts or even the entire contents of the underlying database which is mainly defined by the arrangement of cells of presented data records. This arrangement, in the typical case of using a flat computer monitor, has to be two-dimensional. Another example for a pivot presentation is a two-dimensional data array provided in a computer memory, database or the like.
Each data record of the underlying database consists of a number of data attributes or data keys, as illustrated in FIG. 1 wherein the dimension of the data records and thus that of the entire database is determined by the number of data keys, likewise.
A particular pivot presentation generally depends on pre-specified user preferences for the particular key arrangement of the contents of the data records, like customer information, corresponding articles sold to those customers and the time of sell for each article. Hereby it is often required to aggregate the contents of different data records or data key elements of given data records in a cell of the pivot presentation.
There exists a number of approaches for generating pivot presentations of data records in a multi-dimensional database. A first approach is using well-known Simple Query Language (SQL) in order to obtain user-defined pivot views of an existing database by means of a database query. But calculation of a pivot view in a large database requires considerable processing resources since all the data records stored in the database have to be accessed in order to check if they meet the underlying query conditions.
As a second approach, there are known OLAP software tools where data records are processed internally using hyper-cubic data structures thus requiring large storage volumes in order to store the intermediately generated OLAP information.
According to a third approach, the above discussed first and second approach are combined in order to provide a corresponding hybrid concept. But the third approach, too, is disadvantageous insofar as the performance is considerably varying and strongly dependent on the actual pivot presentation.